﻿
package com.ostrich.manpower.service.impl;

import java.util.List;

import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.base.service.BaseService;
import com.base.util.StringUtil;
import com.ostrich.manpower.bean.TostHrMealaddinfo;
import com.ostrich.manpower.bean.TostHrPersonyearinfo;
import com.ostrich.manpower.common.ImportUtil;
import com.ostrich.manpower.service.TostHrPersonyearinfoDao;
/**
 * @author wangyinan
 * @brief    模块功能简单描述
 * @details  模块功能详细描述
 */
@Service("tostHrPersonyearinfoService")
public class TostHrPersonyearinfoService<T> extends BaseService<T> {
	private final static Logger log= Logger.getLogger(TostHrPersonyearinfoService.class);

	@Autowired
    private TostHrPersonyearinfoDao<T> dao;

	public TostHrPersonyearinfoDao<T> getDao() {
		return dao;
	}
	
	public List<T> queryByAll() throws Exception{
		return getDao().queryByAll();
	}
	/****
	 * 根据sheet插入数据库
	 * @param sheet
	 * @return
	 */
	public void setPersonBySheet(HSSFSheet sheet) throws Exception{
		//List<TostHrMealaddinfo> infos =new ArrayList<TostHrMealaddinfo>();
	    HSSFRow row = null;
	    int colnum = 14;
		 //遍历该行所有的行,j表示行数 getPhysicalNumberOfRows行的总数  除去标题跟表头
	     for(int j =2; j < sheet.getPhysicalNumberOfRows(); j++) {  
	         row = sheet.getRow(j);  
	         TostHrPersonyearinfo tperson = new TostHrPersonyearinfo();  
	         for(int i=0;i<colnum;i++ ){
	        	 String str = ImportUtil.getCellValue(row.getCell(i));
	        	 if(i==2)//工资结算月份
	        		 tperson.setHpeWagemonth(str);
	        	 else if(i==3){//所在公司
	        		 tperson.setHpeCompany(str);
	        	 }else if(i==4){//所在部门
	        		 tperson.setHpeDepart(str);
	        	 }else if(i==5){//姓名
	        		 Float flstr = (str!=null && str.trim().length()>0 && StringUtil.isNumeric(str))?Float.valueOf(str):new Float(0);
	        		 tperson.setHpeName(str);
	        	 }else if(i==6){//任职岗位
	        		 tperson.setHpeJobs(str);
	        	 }else if(i==7){//执行工资标准
	        		 Float flstr = (str!=null && str.trim().length()>0 && StringUtil.isNumeric(str))?Float.valueOf(str):new Float(0);
	        		 tperson.setHpeExestandard(flstr);
	         }else if(i==8){//绩效/提成工资
        		 Float flstr = (str!=null && str.trim().length()>0 && StringUtil.isNumeric(str))?Float.valueOf(str):new Float(0);
        		 tperson.setHpePerformance(flstr);
	         }else if(i==9){//各项补贴
	        		 Float flstr = (str!=null && str.trim().length()>0 && StringUtil.isNumeric(str))?Float.valueOf(str):new Float(0);
	        		 tperson.setHpeSubsidies(flstr);
	         }else if(i==10){//应发工资
        		 Float flstr = (str!=null && str.trim().length()>0 && StringUtil.isNumeric(str))?Float.valueOf(str):new Float(0);
        		 tperson.setHpeSend(flstr);
	         }else if(i==11){//应扣金额
        		 Float flstr = (str!=null && str.trim().length()>0 && StringUtil.isNumeric(str))?Float.valueOf(str):new Float(0);
        		 tperson.setHpeDeduct(flstr);
	         }else if(i==12){//当月实发金额
        		 Float flstr = (str!=null && str.trim().length()>0 && StringUtil.isNumeric(str))?Float.valueOf(str):new Float(0);
        		 tperson.setHpePaid(flstr);
	         }else if(i==13){//备注
        		 tperson.setHpeDesc(str);
	         }else if(i==14){//月份
        		 tperson.setHpeMonth(str);
	         }
	         }
	         if(tperson!=null && tperson.getHpeName()!=null && tperson.getHpeName().trim().length()>0){
		         dao.add((T) tperson);
	         }
	     }
	}
}
